home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 551-575 / disk_562 / intuisup / render / source.lzh / render.h < prev   
C/C++ Source or Header  |  1991-10-19  |  3KB  |  107 lines

  1.         /*************************************
  2.          *                                   *
  3.          *            Render v2.0            *
  4.          *   by Torsten Jürgeleit in 05/91   *
  5.          *                                   *
  6.          *    Defines, structs and protos    *
  7.          *                                   *
  8.          *************************************/
  9.  
  10. #ifndef    RENDER_H
  11. #define    RENDER_H
  12.  
  13.     /* Defines for render info flags */
  14.  
  15. #define RENDER_INFO_FLAG_INNER_WINDOW    (1 << 0)   /* use upper left corner of inner window as location (0,0) */
  16. #define RENDER_INFO_FLAG_BACK_FILL    (1 << 1)   /* fill window back ground with different color */
  17.  
  18.     /* Defines for open window flags */
  19.  
  20. #define OPEN_WINDOW_FLAG_CENTER_WINDOW    (1 << 0)   /* center window on screen */
  21. #define OPEN_WINDOW_FLAG_RENDER_PENS    (1 << 1)   /* use render pens for detail and backfill pen */
  22.  
  23.     /* Defines for render images */
  24.  
  25. #define MAX_RENDER_IMAGES    11
  26.  
  27. #define IMAGE_ARROW_LEFT    0
  28. #define IMAGE_ARROW_RIGHT    1
  29. #define IMAGE_ARROW_UP        2
  30. #define IMAGE_ARROW_DOWN    3
  31. #define IMAGE_KNOB_UNSELECTED    4
  32. #define IMAGE_KNOB_SELECTED    5
  33. #define IMAGE_CHECK_UNSELECTED    6
  34. #define IMAGE_CHECK_SELECTED    7
  35. #define IMAGE_CYCLE        8
  36. #define IMAGE_COUNT_LEFT    9
  37. #define IMAGE_COUNT_RIGHT    10
  38.  
  39. #define IMAGE_ARROW_WIDTH    9
  40. #define IMAGE_ARROW_HEIGHT    5
  41. #define IMAGE_ARROW_DEPTH    1
  42.  
  43. #define IMAGE_KNOB_WIDTH    18
  44. #define IMAGE_KNOB_HEIGHT    9
  45. #define IMAGE_KNOB_DEPTH    2
  46.  
  47. #define IMAGE_CHECK_WIDTH    13
  48. #define IMAGE_CHECK_HEIGHT    7
  49. #define IMAGE_CHECK_DEPTH    1
  50.  
  51. #define IMAGE_CYCLE_WIDTH    16
  52. #define IMAGE_CYCLE_HEIGHT    9
  53. #define IMAGE_CYCLE_DEPTH    2
  54.  
  55. #define IMAGE_COUNT_WIDTH    8
  56. #define IMAGE_COUNT_HEIGHT    5
  57. #define IMAGE_COUNT_DEPTH    1
  58.  
  59. #define IMAGE_HORIZ_OFFSET    4
  60. #define IMAGE_VERT_OFFSET    2
  61.  
  62. #define INTUISUP_DATA_END    0    /* end marker for data arrays */
  63.  
  64. #define MAX_RENDER_COLORS    16    /* max screen colors to look at */
  65.  
  66.     /* Structures */
  67.  
  68. struct RenderInfo {
  69.     USHORT    ri_ScreenWidth;
  70.     USHORT    ri_ScreenHeight;
  71.     UBYTE    ri_ScreenDepth;
  72.     UBYTE    ri_WindowBorderTop;
  73.     UBYTE    ri_WindowBorderLeft;
  74.     UBYTE    ri_WindowBorderRight;
  75.     UBYTE    ri_WindowBorderBottom;
  76.     UBYTE    ri_HighlightPen;
  77.     UBYTE    ri_ShadowPen;
  78.     UBYTE    ri_TextPen1;
  79.     UBYTE    ri_TextPen2;
  80.     UBYTE    ri_BackPen;
  81.     USHORT    ri_Flags;
  82.     struct TextFont  *ri_TextFont;
  83.     struct TextAttr  ri_TextAttr;
  84.     struct Image     ri_Images[MAX_RENDER_IMAGES];
  85.     USHORT    *ri_ImageData;
  86.     ULONG    ri_ImageDataSize;
  87. };
  88.     /* Global prototypes */
  89.  
  90. struct RenderInfo  *get_render_info(struct Screen  *screen, USHORT flags);
  91. VOID free_render_info(struct RenderInfo  *ri);
  92. struct Window  *open_window(struct RenderInfo  *ri, struct NewWindow  *nw,
  93.                                   USHORT flags);
  94. VOID  clear_render_window(struct RenderInfo  *ri, struct Window  *win,
  95.         USHORT left_edge, USHORT top_edge, USHORT width, USHORT height);
  96. SHORT calc_color_difference(SHORT color1, SHORT color2);
  97.  
  98.     /* Global pragmas */
  99.  
  100. #pragma regcall(get_render_info(a0,d0))
  101. #pragma regcall(free_render_info(a0))
  102. #pragma regcall(open_window(a0,a1,d0))
  103. #pragma regcall(clear_render_window(a0,a1,d0,d1,d2,d3))
  104. #pragma regcall(calc_color_difference(d0,d1))
  105.  
  106. #endif
  107.